package com.cykj.user.mapper;

import com.cykj.common.entity.EducationBackgroundDO;
import com.cykj.common.entity.OnlineResumeDO;
import com.cykj.common.entity.ProjectHistoryDO;
import com.cykj.common.entity.WorkHistoryDO;
import com.cykj.user.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @BelongsProject: smart_recruit_backend
 * @BelongsPackage: com.cykj.user.mapper
 * @Author: 浮行
 * @CreateTime: 2025-08-21 10:35
 * @Description: TODO
 * @Version: 1.0
 */
@Mapper
public interface OnlineResumeMapper {
    /**
    * @Description: 新增工作经历 
    * @Param: [workHistoryVO]
    * @return: java.lang.Integer
    */
    Integer insertWork(@Param("workHistoryVO") WorkHistoryVO workHistoryVO);
    /**
    * @Description: 新增项目经历 
    * @Param: [projectHistoryVO]
    * @return: java.lang.Integer
    */
    Integer insertProjectHistory(@Param("projectHistoryVO") ProjectHistoryVO projectHistoryVO);
    /**
    * @Description: 新增教育背景
    * @Param: [educationBackgroundVO]
    * @return: java.lang.Integer
    */
    Integer insertEducationBackground(@Param("educationBackgroundVO") EducationBackgroundVO educationBackgroundVO);
    /**
    * @Description: 修改教育背景
    * @Param: [educationBackgroundVO]
    * @return: java.lang.Integer
    */
    Integer deleteEducationBackground(@Param("educationBackgroundId") Integer educationBackgroundId);
    /**
    * @Description: 删除项目经历 
    * @Param: [projectHistoryVO]
    * @return: java.lang.Integer
    */
    Integer deleteProjectHistory(@Param("projectHistoryId") Integer projectHistoryId);
    /**
    * @Description: 删除工作经历
    * @Param: [workHistoryVO]
    * @return: java.lang.Integer
    */
    Integer deleteWorkHistory(@Param("workHistoryId") Integer workHistoryId);
    /**
    * @Description: 修改工作经历
    * @Param: [workHistoryVO]
    * @return: java.lang.Integer
    */
    Integer updateWorkHistory(@Param("list") List<WorkHistoryVO> workHistoryVO);
    /**
    * @Description: 修改项目经历
    * @Param: [projectHistoryVO]
    * @return: java.lang.Integer
    */
    Integer updateProjectHistory(@Param("list") List<ProjectHistoryVO> projectHistoryVO);
    /**
    * @Description: 修改教育背景信息
    * @Param: [educationBackgroundVO]
    * @return: java.lang.Integer
    */
    Integer updateEducationBackground(@Param("list") List<EducationBackgroundVO> educationBackgroundVOS);
    /**
    * @Description: 查询工作经历
    * @Param: [workHistoryVO]
    * @return: java.util.List<com.cykj.common.entity.WorkHistoryDO>
    */
    List<WorkHistoryDO> selectWorkHistory(@Param("workHistoryVO") WorkHistoryVO workHistoryVO);
    /**
    * @Description: 查询项目经历
    * @Param: [projectHistoryVO]
    * @return: java.util.List<com.cykj.common.entity.ProjectHistoryDO>
    */
    List<ProjectHistoryDO> selectProjectHistory(@Param("projectHistoryVO") ProjectHistoryVO projectHistoryVO);
    /**
    * @Description: 查询教育背景信息
    * @Param: [educationBackgroundVO]
    * @return: java.util.List<com.cykj.common.entity.EducationBackgroundDO>
    */
    List<EducationBackgroundDO> selectEducationBackground(@Param("educationBackgroundVO") EducationBackgroundVO educationBackgroundVO);
    /**
    * @Description: 修改资格证书 
    * @Param: [onlineResumeVO]
    * @return: java.lang.Integer
    */
    Integer updateCertificates(@Param("onlineResumeVO") OnlineResumeVO onlineResumeVO);
    /**
    * @Description: 查询用户的个人优势和资格证书
    * @Param: [onlineResumeVO]
    * @return: com.cykj.common.entity.OnlineResumeDO
    */
    OnlineResumeDO selectUserAdvantageAndCertificate(@Param("onlineResumeVO") OnlineResumeVO onlineResumeVO);
    /**
    * @Description: 修改用户个人优势
    * @Param: [onlineResumeVO]
    * @return: java.lang.Integer
    */
    Integer updateAdvantage(@Param("onlineResumeVO") OnlineResumeVO onlineResumeVO);
    /**
    * @Description: 修改用户的求职状态
    * @Param: []
    * @return: java.lang.Integer
    */
    Integer updateJobStatus(@Param("userVO") UserVO userVO);
}
